# -*-coding:utf-8-*-

import sqlite3

# 下面是主程序调用该模块时时数据库的路径
dbPath = 'db/sqlite.db'


# 下面是该文件单独运行时的数据库路径
# dbPath = '../db/sqlite.db'

# 创建数据表
def creatTable(tableName):
    conn = sqlite3.connect(dbPath)
    curs = conn.cursor()

    sql_createTable = '''
    CREATE TABLE if not exists testResult(
        module          TEXT,
        func            TEXT,
        destination     TEXT,
        precondition    TEXT,
        execStep        TEXT,
        expectedResult  TEXT,
        testResult      TEXT,
        problemTypes    TEXT,
        priority        TEXT,
        verson          TEXT,
        reporter        TEXT,
        agent           TEXT
    )
    '''
    if tableName == 'testResult':
        curs.execute(sql_createTable)

    conn.commit()
    conn.close()


# 向数据表中插入数据
def insertData(tableName, testResult_bak):
    conn = sqlite3.connect(dbPath)
    curs = conn.cursor()

    if tableName == 'testResult':
        sql = 'INSERT INTO testResult VALUES (?,?,?,?,?,?,?,?,?,?,?,?)'
        for arr in testResult_bak:
            curs.execute(sql, arr)

    conn.commit()
    conn.close()


# 查询数据表中的数据
def queryData(tableName):
    conn = sqlite3.connect(dbPath)
    curs = conn.cursor()

    sql = 'SELECT * FROM ' + tableName
    curs.execute(sql)
    if tableName == "testResult":
        rows = curs.fetchall()
        for row in rows:
            print ("%s  %s  %s  %s  %s  %s  %s  %s  %s  %s  %s  %s" % (
            row[0], row[1], row[2], row[3], row[4], row[5], row[6], row[7], row[8], row[9], row[10], row[11]))

    conn.commit()
    conn.close()


# 删除数据库中的数据表
def delDataTable(tableName):
    conn = sqlite3.connect(dbPath)
    curs = conn.cursor()

    sql = 'DROP TABLE testResult'
    curs.execute(sql)

    conn.commit()
    conn.close()


if __name__ == "__main__":
    # creatTable("testResult")                           #创建数据表
    # insertData("testResult",testResult_bak)            #插入数据
    # queryData("testResult")                             #查询数据
    # delDataTable("testResult")                         #删除数据表
    pass
